package com.xiaoju.uemc.tinyid.server.service.impl;

import com.xiaoju.uemc.tinyid.server.dao.TinyIdInfoDAO;
import com.xiaoju.uemc.tinyid.server.dao.TinyIdTokenDAO;
import com.xiaoju.uemc.tinyid.server.service.TinyIdService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;

import javax.annotation.Resource;

/**
 * @author horizon
 */
@Component
public class TinyIdServiceImpl implements TinyIdService {

    @Resource
    private TinyIdInfoDAO tinyIdInfoDAO;

    @Resource
    private TinyIdTokenDAO tinyIdTokenDAO;

    @Transactional(rollbackFor = Exception.class)
    @Override
    public boolean initBizType(String bizType, String token, String remark,
                               int beginId, int step, int delta, int remainder) {
        if (StringUtils.isEmpty(bizType) || StringUtils.isEmpty(token)) {
            return false;
        }
        tinyIdTokenDAO.insertBizType(bizType, token, remark);
        tinyIdInfoDAO.insertBizType(bizType, beginId, step, delta, remainder);
        return true;
    }

}
